//package com.letoken.platform.repo.app.redis;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
//import com.letoken.platform.pub.util.BeanUtil;
//import org.springframework.data.redis.core.StringRedisTemplate;
//
//import java.util.Map;
//
///**
// * @author letokenlabs
// * @date 2022/11/14$
// */
//public class AppUserRedis {
//
//    private StringRedisTemplate stringRedisTemplate;
//
//    private AppUserRedis() {
//        stringRedisTemplate = BeanUtil.getBean(StringRedisTemplate.class);
//    }
//
//    private enum Singleton {
//        INSTANCE;
//        private AppUserRedis instance;
//
//        // JVM会保证此方法绝对只调用一次
//        Singleton() {
//            instance = new AppUserRedis();
//        }
//    }
//
//    /**
//     * 活动配置
//     */
//    String cacheKey = RedisKeyConstant.LETOKEN_GAME_APP_USER_INFO;
//
//    public static AppUserWalletAddresRedis me() {
//        return AppUserWalletAddresRedis.Singleton.INSTANCE.instance;
//    }
//
//    public void put(String key, Object obj) {
//        if (obj != null) {
//            stringRedisTemplate.opsForHash().put(cacheKey, key, JSON.toJSONString(obj));
//        }
//    }
//
//    public void putAll(Map<String, Object> map) {
//        if (map != null) {
//            stringRedisTemplate.opsForHash().putAll(cacheKey, map);
//        }
//    }
//
//    public Object getValue(String key) {
//        return stringRedisTemplate.opsForHash().get(cacheKey, key);
//    }
//
//    public String getStrValue(String key) {
//        return (String) stringRedisTemplate.opsForHash().get(cacheKey, key);
//    }
//
//    public AppUserBo getClassObject(String key) {
//        String valueStr = (String) stringRedisTemplate.opsForHash().get(cacheKey, key);
//        if (valueStr == null) {
//            return null;
//        }
//        AppUserBo classRedis = null;
//        try {
//            classRedis = JSONObject.toJavaObject(JSONObject.parseObject(valueStr), AppUserBo.class);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return classRedis;
//    }
//
//    /**
//     * @param key ... 多个key
//     * @return
//     */
//    public Long del(String... key) {
//        return stringRedisTemplate.opsForHash().delete(cacheKey, key);
//    }
//}
